'use strict'

module.exports = async (c, next)=>{
    let token = c.headers.authorization || c.query.token;

    if(!token){
        return c.status(403).send('TOKEN NULL')
    }

    let r = c.service.tok.verify(token)

    //通过ok判断是否成功，失败，errcode属性表示失败的状态码
    if(!r.ok){
        //errcode的值可能时FAILED（失败） TIMEOUT（超时） ILLEGAL（非法）
        return c.status(403).send(r.errcode)
    }
    //c.box空对象
    c.box.user = r.data

    await next()
}